using System;

namespace EOSDigital.SDK
{
	public struct MyMenuItems
	{
		public MyMenuID MenuItem1;

		public MyMenuID MenuItem2;

		public MyMenuID MenuItem3;

		public MyMenuID MenuItem4;

		public MyMenuID MenuItem5;

		public MyMenuID MenuItem6;

		public MyMenuItems(params MyMenuID[] items)
		{
			if (items == null)
			{
				throw new ArgumentNullException("items");
			}
			this.MenuItem1 = (this.MenuItem2 = (this.MenuItem3 = (this.MenuItem4 = (this.MenuItem5 = (this.MenuItem6 = MyMenuID.NotSet)))));
			if (items.Length > 0)
			{
				this.MenuItem1 = items[0];
			}
			if (items.Length > 1)
			{
				this.MenuItem2 = items[1];
			}
			if (items.Length > 2)
			{
				this.MenuItem3 = items[2];
			}
			if (items.Length > 3)
			{
				this.MenuItem4 = items[3];
			}
			if (items.Length > 4)
			{
				this.MenuItem5 = items[4];
			}
			if (items.Length > 5)
			{
				this.MenuItem6 = items[5];
			}
		}

		public static bool operator ==(MyMenuItems x, MyMenuItems y)
		{
			if (x.MenuItem1 == y.MenuItem1 && x.MenuItem2 == y.MenuItem2 && x.MenuItem3 == y.MenuItem3 && x.MenuItem4 == y.MenuItem4 && x.MenuItem5 == y.MenuItem5)
			{
				return x.MenuItem6 == y.MenuItem6;
			}
			return false;
		}

		public static bool operator !=(MyMenuItems x, MyMenuItems y)
		{
			return !(x == y);
		}

		public override bool Equals(object obj)
		{
			if (obj is MyMenuItems)
			{
				return this == (MyMenuItems)obj;
			}
			return false;
		}

		public override int GetHashCode()
		{
			int num = -2128831035;
			num *= (0x1000193 ^ this.MenuItem1.GetHashCode());
			num *= (0x1000193 ^ this.MenuItem2.GetHashCode());
			num *= (0x1000193 ^ this.MenuItem3.GetHashCode());
			num *= (0x1000193 ^ this.MenuItem4.GetHashCode());
			num *= (0x1000193 ^ this.MenuItem5.GetHashCode());
			return num * (0x1000193 ^ this.MenuItem6.GetHashCode());
		}
	}
}
